/**
 * <copyright>
 * </copyright>
 *
 * $Id$
 */
package ms.jasim.model.items;

import ms.jasim.model.NamedModelObject;

/**
 * <!-- begin-user-doc -->
 * A representation of the model object '<em><b>Object Property</b></em>'.
 * <!-- end-user-doc -->
 *
 * <p>
 * The following features are supported:
 * <ul>
 *   <li>{@link ms.jasim.model.items.ObjectProperty#getDescriptorID <em>Descriptor ID</em>}</li>
 *   <li>{@link ms.jasim.model.items.ObjectProperty#getDescriptor <em>Descriptor</em>}</li>
 *   <li>{@link ms.jasim.model.items.ObjectProperty#getItem <em>Item</em>}</li>
 * </ul>
 * </p>
 *
 * @see ms.jasim.model.items.ItemsPackage#getObjectProperty()
 * @model superTypes="ms.jasim.model.ModelObject ms.jasim.model.INamedItem"
 * @generated NOT
 */
public interface ObjectProperty extends NamedModelObject {
	/**
	 * Returns the value of the '<em><b>Descriptor ID</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Descriptor ID</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Descriptor ID</em>' attribute.
	 * @see #setDescriptorID(String)
	 * @see ms.jasim.model.items.ItemsPackage#getObjectProperty_DescriptorID()
	 * @model
	 * @generated
	 */
	String getDescriptorID();

	/**
	 * Sets the value of the '{@link ms.jasim.model.items.ObjectProperty#getDescriptorID <em>Descriptor ID</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Descriptor ID</em>' attribute.
	 * @see #getDescriptorID()
	 * @generated
	 */
	void setDescriptorID(String value);

	/**
	 * Returns the value of the '<em><b>Descriptor</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Descriptor</em>' reference isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Descriptor</em>' reference.
	 * @see #setDescriptor(PropertyDescriptor)
	 * @see ms.jasim.model.items.ItemsPackage#getObjectProperty_Descriptor()
	 * @model transient="true" derived="true"
	 * @generated
	 */
	PropertyDescriptor getDescriptor();

	/**
	 * Sets the value of the '{@link ms.jasim.model.items.ObjectProperty#getDescriptor <em>Descriptor</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Descriptor</em>' reference.
	 * @see #getDescriptor()
	 * @generated
	 */
	void setDescriptor(PropertyDescriptor value);

	/**
	 * Returns the value of the '<em><b>Item</b></em>' containment reference.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Item</em>' containment reference isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Item</em>' containment reference.
	 * @see #setItem(Item)
	 * @see ms.jasim.model.items.ItemsPackage#getObjectProperty_Item()
	 * @model containment="true"
	 * @generated
	 */
	Item getItem();

	/**
	 * Sets the value of the '{@link ms.jasim.model.items.ObjectProperty#getItem <em>Item</em>}' containment reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Item</em>' containment reference.
	 * @see #getItem()
	 * @generated
	 */
	void setItem(Item value);

} // ObjectProperty
